﻿using iWare.Wms.Core.Util.LowCode.Dto;
using System;
using System.ComponentModel.DataAnnotations;

namespace iWare.Wms.Application
{
    /// <summary>
    /// 任务管理输出参数
    /// </summary>
    public class WmsTaskDto
    {
        /// <summary>
        /// 任务号
        /// </summary>
        public string Taskno { get; set; }
        
        /// <summary>
        /// 任务方式
        /// </summary>
        public iWare.Wms.Core.Enum.TaskModel Taskmodel { get; set; }
        
        /// <summary>
        /// 任务类型
        /// </summary>
        public iWare.Wms.Core.Enum.TaskType Tasktype { get; set; }
        
        /// <summary>
        /// 任务级别
        /// </summary>
        public int Tasklevel { get; set; }
        
        /// <summary>
        /// 任务状态
        /// </summary>
        public iWare.Wms.Core.Enum.TaskStatus Taskstatus { get; set; }
        
        /// <summary>
        /// 任务状态
        /// </summary>
        public string Taskcontentstring { get; set; }
        
        /// <summary>
        /// 托盘编号
        /// </summary>
        public string ContainerCode { get; set; }
        
        /// <summary>
        /// 起始库位
        /// </summary>
        public string Sourceplace { get; set; }
        
        /// <summary>
        /// 目标库位
        /// </summary>
        public string Toplace { get; set; }
        
        /// <summary>
        /// 巷道
        /// </summary>
        public int Aisle { get; set; }
        
        /// <summary>
        /// 库区名称
        /// </summary>
        public string AreaName { get; set; }
        
        /// <summary>
        /// 组盘记录ID
        /// </summary>
        public string Ordersid { get; set; }
        
        /// <summary>
        /// 发送次数
        /// </summary>
        public int Sendtimes { get; set; }
        
        /// <summary>
        /// 任务处理状态
        /// </summary>
        public int Handelstatus { get; set; }
        
        /// <summary>
        /// 是否生效
        /// </summary>
        public iWare.Wms.Core.YesOrNot Void { get; set; }
        
        /// <summary>
        /// 正在执行的任务
        /// </summary>
        public iWare.Wms.Core.YesOrNot Iscurrenttask { get; set; }
        
        /// <summary>
        /// 是否是最后执行的任务
        /// </summary>
        public iWare.Wms.Core.YesOrNot Islasttask { get; set; }
        
        /// <summary>
        /// 正在执行的任务
        /// </summary>
        public iWare.Wms.Core.YesOrNot Isemptycontainer { get; set; }
        
        /// <summary>
        /// 任务执行堆垛机ID
        /// </summary>
        public int Dodeviceid { get; set; }
        
        /// <summary>
        /// 设备执行节点ID
        /// </summary>
        public string Dodevicenodeid { get; set; }
        
        /// <summary>
        /// 设备类型
        /// </summary>
        public string Dodevicetype { get; set; }
        
        /// <summary>
        /// Id主键
        /// </summary>
        public long Id { get; set; }
        
    }
    /// <summary>
    /// 查看详情输入参数
    /// </summary>
    public class WmsTaskDetailSearch
    {
        /// <summary>
        /// 组盘单据ID
        /// </summary>
        [Required(ErrorMessage = "组盘单据ID空")]
        public string Orderno { get; set; }
    }
    /// <summary>
    /// 修改任务级别参数
    /// </summary>
    public class UpdateTasklevelDto
    {
        /// <summary>
        /// Id主键
        /// </summary>
        [Required(ErrorMessage = "Id主键不能为空")]
        public long Id { get; set; }

        /// <summary>
        /// 级别
        /// </summary>
        [Required(ErrorMessage = "级别不能为空")]
        public int Tasklevel { get; set; }
    }

    /// <summary>
    /// 强制完成
    /// </summary>
    public class UpdateFinishTaskDto
    {
        /// <summary>
        /// Id主键
        /// </summary>
        [Required(ErrorMessage = "Id主键不能为空")]
        public long Id { get; set; }
    }
    /// <summary>
    /// 强制完成
    /// </summary>
    public class DeleteTaskDto
    {
        /// <summary>
        /// Id主键
        /// </summary>
        [Required(ErrorMessage = "Id主键不能为空")]
        public long Id { get; set; }
    }
}
